
## Задача 18 Тип 27 [№ 35485](https://inf-ege.sdamgia.ru/problem?id=35485)

В текстовом файле записан набор натуральных чисел, не превышающих 108. Гарантируется, что все числа различны. Из набора нужно выбрать три числа, сумма которых делится на 3. Какую наименьшую сумму можно при этом получить?

Входные данные.

[Файл A](https://inf-ege.sdamgia.ru/get_file?id=83829)
[Файл B](https://inf-ege.sdamgia.ru/get_file?id=83830)

Первая строка входного файла содержит целое число N  — общее количество чисел в наборе. Каждая из следующих N строк содержит одно число.

Пример входного файла:
```
4
5
8
14
11
```
 Заметим, что сумма трёх чисел будет делиться на 3 в четырёх случаях:
* если каждое из трёх чисел при делении на 3 даёт остаток 0; 
* если каждое из трёх чисел при делении на 3 даёт остаток 1;
* если каждое из трёх чисел при делении на 3 даёт остаток 2; 
* если одно из чисел при делении на 3 даёт остаток 0, второе число при делении на 3 даёт остаток 1, а третье число при делении на 3 даёт остаток 2. 


Соответственно, в первый список поместим все числа кратные 3,
во второй делящиеся на 3 с остатком 1,
в третий - делящиеся на 3 с остатком 2

на выходе получим следующий результат:
```python
[] [4] [5, 8, 11, 14]
```

В данном случае есть четыре подходящие тройки:
```
5, 8, 11 (сумма 24);
5, 8 14 (сумма 27);
5, 14 11 (сумма 30);
8, 14, 11 (сумма 33)
```
В ответе надо записать число 24.

Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.


### Решение


```python
lst = '''
4
5
8
14
11
'''.strip().split('\n')
lst = [int(x) for x in lst]
lst.sort()
print(lst)
b_0 = [i for i in lst if i % 3 == 0][:3]
b_1 = [i for i in lst if i % 3 == 1][:3]
b_2 = [i for i in lst if i % 3 == 2][:3]

print(b_0, b_1, b_2)

res = 10 ** 10

if len(b_0) > 2:
    res = min(res, sum(b_0[:3]))   
if len(b_1) > 2:
    res = min(res, sum(b_1[:3]))
if len(b_2) > 2:
    res = min(res, sum(b_2[:3])) 

if b_0 and b_1 and b_2:
    res = min(res, min(b_0), min(b_1), min(b_2))

print(res)
```


